/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.kmcsoft.goldshop.generic.service;

import com.kmcsoft.core.service.GenericService;
import com.kmcsoft.goldshop.model.master.Booth;
import com.kmcsoft.goldshop.model.master.Currency;
import com.kmcsoft.goldshop.model.master.DiamondColor;
import com.kmcsoft.goldshop.model.master.DiamondGroup;
import com.kmcsoft.goldshop.model.master.DiamondPure;
import com.kmcsoft.goldshop.model.master.GoldSource;
import com.kmcsoft.goldshop.model.master.Goldsmith;
import com.kmcsoft.goldshop.model.master.JewelryCost;
import com.kmcsoft.goldshop.model.master.JewelryStyle;
import com.kmcsoft.goldshop.model.master.PremiumJewelryType;
import com.kmcsoft.goldshop.model.master.PricingPerson;
import com.kmcsoft.goldshop.model.master.ProductGold;
import com.kmcsoft.goldshop.model.master.Shop;
import com.kmcsoft.goldshop.model.master.Unit;
import com.kmcsoft.goldshop.model.scm.ImportJewelryDetail;
import com.kmcsoft.goldshop.model.scm.ImportJewerlyOrder;
import java.util.Collection;
import java.util.Date;

/**
 *
 * @author huyvu
 */
public interface ShopGenericService extends GenericService {

    public Collection<DiamondGroup> getDiamondGroups();

    public Collection<DiamondColor> getDiamondColors();
    
     public Collection<DiamondPure> getDiamondPures();

    public Collection<Unit> getUnits();

    public Collection<JewelryStyle> getJewelryStyles();

    public Collection<ProductGold> getGoldSJCs();

    public Collection<ProductGold> getNormalGolds();

    public Collection<Booth> getBooths();

    public Collection<Shop> getShops();

    public Collection<GoldSource> getGoldSources();

    public Collection<JewelryCost> getJewelryCosts();

    public Collection<Goldsmith> getGoldsmiths();

    public Collection<PricingPerson> getPricingPersons();
    
    public Unit getUnitByCode(String code);

    public boolean checkUsingDiamondGroup(DiamondGroup selectedRecord);

    public Currency getCurrencyByCode(String code);

    public boolean checkUsingDiamondColor(DiamondColor selectedRecord);

    public boolean checkUsingGoldSource(GoldSource selectedRecord);

    public boolean checkUsingJewelryCost(JewelryCost selectedRecord);

    public boolean checkUsingGoldsmith(Goldsmith selectedRecord);

    public boolean checkUsingPricingPerson(PricingPerson selectedRecord);
    
    public boolean checkUsingDiamondPure(DiamondPure selectedRecord);

    public ProductGold getProductGoldById(Long id);

    public ImportJewerlyOrder getImportOrderByEmployeeId(Long empId, Date date,int type);

    public String getBarCode();

    public int createOrderCode();

    public ImportJewerlyOrder getImportJewerlyOrderByProductId(long productId);
    
    public ImportJewerlyOrder getImportJewerlyOrderById(long Id);
    
    public ImportJewerlyOrder getImportJewerlyOrderById_DetachDetail(long Id);
    
    public ImportJewelryDetail getImportJewerlyDetailById(long id);

    public Currency getBasicCurrency();//lay dong tin co ban

    

   

    

}
